package com.rbac.api.utils;


import com.rbac.api.mybatis.entityCus.CusHaveMenusEntity;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

///api定制工具
public class ApiPublicUtil {



    ///组装list返回值
    public static Object AssemblyReturnItem(Integer countDataNum,Integer pageIndex,Integer pageSize,Object nowPageBasicsData){
        Map<String,Object> rm = new HashMap<>();
        rm.put("dataList",nowPageBasicsData);///数据list
        rm.put("dataCount",countDataNum);///数据总条数
        rm.put("pageIndex",pageIndex);///当前页码数
        rm.put("pageSize",pageSize);///页面显示条数
        return rm;
    }


    /***
     * 菜单递归区分父子级
     * @param lists
     * @param parentNo
     * @return
     */
    public static List<CusHaveMenusEntity> getMenusSon(List<CusHaveMenusEntity> lists, String parentNo){
        //
        ArrayList<CusHaveMenusEntity> newLists = new ArrayList<>();
        //遍历数据
        for (CusHaveMenusEntity list : lists) {
            //如果当前数据父级编号 等于 指定父级编号
            if(list.getParentNo().equals(parentNo)){
                //获得子级数据
                List<CusHaveMenusEntity> sonList = getMenusSon(lists,list.getMenuNo());
                //子级数据不为空的情况下
                if(!(org.springframework.util.StringUtils.isEmpty(sonList))){
                    //追加到子类里
                    list.setSon(sonList);
                }
                //插入 list
                newLists.add(list);
            }
        }
        //返回遍历的结果
        return newLists;
    }



}
